import request from '@/utils/request'

const realTimePageApi = {
  findAllPagesByModuleId: '/realTimePage/findAllPagesByModuleId',
  create: '/realTimePage/create',
  delete: '/realTimePage/delete',
  update: '/realTimePage/update',
  assignPointToPage: '/realTimePage/assignPointToPage',
  deletePointOfPage: '/realTimePage/deletePointOfPage',
  // socketpage
  socketPageUrl: (pageId) => `/websocket/${pageId}`
}

export default realTimePageApi

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 查询所有页面
 * @param parameter
 * @returns {*}
 */
export function findAllPagesByModuleId (parameter) {
  return request({
    url: realTimePageApi.findAllPagesByModuleId,
    method: 'get',
    params: parameter
  })
}

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 创建页面
 * @param parameter
 * @returns {*}
 */
export function create (parameter) {
  return request({
    url: realTimePageApi.create,
    method: 'post',
    data: parameter
  })
}

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 修改页面
 * @param parameter
 * @returns {*}
 */
export function update (parameter) {
  return request({
    url: realTimePageApi.update,
    method: 'post',
    data: parameter
  })
}

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 创建页面
 * @param parameter
 * @returns {*}
 */
export function remove (parameter) {
  return request({
    url: realTimePageApi.delete,
    method: 'post',
    params: parameter
  })
}

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 授权点位到页面
 * @param parameter
 * @returns {*}
 */
export function assignPointToPage (parameter) {
  return request({
    url: realTimePageApi.assignPointToPage,
    method: 'post',
    data: parameter
  })
}

/**
 * moduleid 根据模块固定 根据字典接口可查询具体值 type = 1
 * @description 移除页面中已授权点位
 * @param parameter
 * @returns {*}
 */
export function deletePointOfPage (parameter) {
  return request({
    url: realTimePageApi.deletePointOfPage,
    method: 'post',
    data: parameter.id,
    params: {
      pageId: parameter.pageId
    }
  })
}
